Skip to content

Version Packages#2286

Draft
seek-oss-ci wants to merge 1 commit intomainfrom
changeset-release/main
Draft

Version Packages#2286
seek-oss-ci wants to merge 1 commit intomainfrom
changeset-release/main

Conversation

@seek-oss-ci
Copy link
Copy Markdown
Contributor

@seek-oss-ci seek-oss-ci commented Mar 19, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

skuba@16.0.0

Major Changes

  • build, lint, test: Migrate to ESM (#2124)

    As part of our migration to ESM, skuba's source code is now pure ESM. Its packages are still published as dual ESM/CJS at this time.

    skuba will attempt to automatically transition your project to ESM and migrate your tests from Jest to Vitest. It will scaffold a new vitest.config.ts, but existing Jest customisations and Jest-specific libraries like jest-dynalite will require manual adjustment.

    For package publishers, skuba build-package should handle publishing dual ESM/CJS packages automatically. You should release this as a breaking change for your consumers. Some build tools may behave differently when they detect "type": "module" in your package.json. Test your packages thoroughly after the migration to confirm everything works as expected.

    Example changelog entry:

    **Breaking change:** This package is now authored as an ESM package. It is still published as a dual CJS/ESM package

    View the migration guide for more details.

  • test: Migrate to Vitest (#2274)

    skuba test now calls Vitest as the test runner instead of Jest.

    Vitest does not provide globals for describe, expect, it, etc. You need to import them from vitest:

    import { describe, expect, it } from 'vitest';

    Vitest brings environment-aware behaviour to skuba test: it defaults to watch mode in an interactive shell on your local machine, and non-watch mode in CI. You can explicitly set the mode by passing the --watch or --no-watch flags to skuba test or using the skuba test watch and skuba test run subcommands:

    skuba test --watch
    skuba test watch
    skuba test --no-watch
    skuba test run

    skuba test will forward any additional arguments to Vitest, so you can also use Vitest's CLI flags:

    skuba test --ui

    This opens up the Vitest UI in your browser, which provides a visual interface for running and debugging tests.

Minor Changes

  • start: Support named app export (#2324)

    skuba start now resolves a named app export as a request listener, in addition to the existing default export.

    // works with both `export default` and `export const app = ...`
    export const app = new Koa().use(/* ... */);
  • migrate: Add ESM migration (#2274)

    If your project does not use skuba directly, you can still run our migration to ESM using npx or pnpm dlx:

    pnpm dlx skuba migrate esm
    npx skuba migrate esm

    View the migration guide for more details.

  • lint: Replace hoisted Jest dependencies with Vitest (#2124)

  • lint: Migrate Dockerfiles from pnpm install --prod to pnpm prune --prod (#2326)

    A new patch will replace any RUN pnpm install ... --prod (including variants with CI=true) with RUN pnpm prune --prod, which is a more explicit and reliable way to remove dev dependencies from the production image. You may see a reduction in container vulnerabilities as a result of this change.

  • init: Support local templates (#2333)

    skuba init can now initialise a project from a local directory path.

    ./skuba-templates/template-a # Relative to working directory
    /Users/my-username/code/skuba-templates/template-a # Absolute path

    This is available for programmatic usage by prepending local: to the path in templateName.

  • lint: Remove pnpm-plugin-skuba from package.json (#2351)

  • start: Fix live reloading (#2139)

  • test: Remove GitHub annotations (#2124)

    Our first Vitest release does not support inline GitHub annotations in CI. This feature may be restored in future.

Patch Changes

  • template/*: Migrate to ESM (#2355)

  • template/*-rest-api: Use pnpm prune --prod to remove dev dependencies in Dockerfiles (#2326)

    Our API template Dockerfiles previously ran CI=true pnpm install --offline --prod after building to strip dev dependencies from node_modules. This has been replaced with pnpm prune --prod, which is a more explicit and reliable way to remove dev dependencies from the production image. You may see a reduction in container vulnerabilities as a result of this change.

      RUN pnpm install --offline
      RUN pnpm build
    - RUN CI=true pnpm install --offline --prod
    + RUN pnpm prune --prod
  • template/*-npm-package: Resolve #src alias to ./src directory during package builds (#2322)

  • deps: esbuild ~0.28.0 (#2320)

  • deps: @inquirer/prompts ^8.0.0 (#2303)

  • deps: rolldown 1.0.0-rc.13 (#2319)

  • deps: read-package-up ^12.0.0 (#2302)

  • deps: @ast-grep/napi ^0.42.0 (#2285)

  • lint: Remove semver@5.7.2 from pnpm-workspace.yaml trustPolicyExclude list (#2300)

    This legacy package version is no longer a transitive dependency of skuba.

@skuba-lib/changesets-changelog@1.0.0

Major Changes

  • Publish first version (#2334)

@skuba-lib/detect-invalid-spies@1.0.0

Major Changes

  • Publish first version (#2318)

eslint-config-skuba@9.0.0

Major Changes

  • Migrate from eslint-config-seek/base to eslint-config-seek/vitest/base (#2124)

    This package now ships Vitest ESLint rules instead of Jest rules. If you are consuming eslint-config-skuba directly, you will need to defer this upgrade until your codebase has migrated to Vitest and ESM.

Minor Changes

  • Re-export eslint-config-seek/extensions via eslint-config-skuba/extensions (#2291)

    This allows users to import from eslint-config-skuba/extensions instead of needing to hoist or install eslint-config-seek as a direct dependency.

    import {
      js as jsExtensions,
      ts as tsExtensions,
    } from 'eslint-config-skuba/extensions';
  • Remove require-extensions rules (#2124)

    This removes the require-extensions rules which were previously used to enforce file extensions on imports to reduce the number of files that needed to be changed when migrating to ESM.

  • Migrate to ESM (#2124)

    This package is still being published as a dual ESM/CJS package, but the source code is now ESM.

Patch Changes

  • deps: eslint-config-seek 15.0.5 (#2346)

pnpm-plugin-skuba@3.0.0

Major Changes

  • lint: Replace hoisted Jest dependencies with Vitest (#2124)

Patch Changes

  • lint: Remove semver@5.7.2 from pnpm-workspace.yaml trustPolicyExclude list (#2300)

    This legacy package version is no longer a transitive dependency of skuba.

@skuba-lib/api@2.1.0

Minor Changes

  • Migrate to ESM (#2124)

    This package is still being published as a dual ESM/CJS package, but the source code is now ESM.

eslint-plugin-skuba@2.1.0

Minor Changes

  • Migrate to ESM (#2124)

    This package is still being published as a dual ESM/CJS package, but the source code is now ESM.

skuba-dive@4.1.0

Minor Changes

  • Migrate to ESM (#2124)

    This package is still being published as a dual ESM/CJS package, but the source code is now ESM.

@skuba-lib/vitest-koa-mocks@1.0.2

Patch Changes

  • Relax session and state option types in createMockContext from Record<string, unknown> to Record<string, any> (#2331)

@seek-oss-ci seek-oss-ci requested a review from a team as a code owner March 19, 2026 22:39
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 19 times, most recently from 4009f45 to 4bb7697 Compare March 25, 2026 11:55
@samchungy samchungy marked this pull request as draft March 26, 2026 21:49
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 9 times, most recently from 35e49cf to a247950 Compare March 30, 2026 01:32
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 10 times, most recently from ace3fe1 to e155d51 Compare April 27, 2026 22:44
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 9 times, most recently from 854590d to 05d2e24 Compare May 6, 2026 06:34
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 5 times, most recently from ee55225 to d535ea6 Compare May 7, 2026 05:37
72636c added a commit that referenced this pull request May 8, 2026
Co-authored-by: Sam Chung <samc@seek.com.au>
Co-authored-by: samchungy <samchungy@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch 2 times, most recently from 8dd31a9 to 89ce8d7 Compare May 8, 2026 01:15
@seek-oss-ci seek-oss-ci force-pushed the changeset-release/main branch from 89ce8d7 to 8ef6c89 Compare May 8, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant